Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

204
Visualizações
POST Request from JS to FastAPI geting "422 Unprocessable Entity"

I'm starting to work on a project with React and FastAPI.

On the server side:

from fastapi import APIRouter, Request, Depends, Response, encoders
import typing
import datetime

from app.db.session import get_db
from app.db.crud import (
    create_lead,
)
from app.db.schemas import LeadCreate


leads_router = r = APIRouter()


@r.post("/leads", response_model=LeadCreate)
async def lead_create(
    # request: Request,
    lead: LeadCreate,
    db=Depends(get_db),
):
    lead.datetime_insert = datetime.datetime.now()
    return create_lead(db, lead)
from pydantic import BaseModel
import datetime


class LeadCreate(BaseModel):
    email: str
    source: str
    datetime_insert: datetime.datetime

    class Config:
        orm_mode = True
from sqlalchemy import Boolean, Column, Integer, String, DateTime

from .session import Base


class Lead(Base):
    __tablename__ = "lead"

    id = Column(Integer, primary_key=True, index=True)
    email = Column(String)
    source = Column(String)
    datetime_insert = Column(DateTime)

In frontend side:

export const create_lead = async (email: string, source: string) => {
    if (!(email.length > 0)) {
        throw new Error('Email was not provided');
    }

    const d = {"email": email,
               "source": source,
               "datetime_insert": "",}

    const request = new Request('/api/v1/leads', {
        method: 'POST',
        body: JSON.stringify(d),
    });

    const response = await fetch(request);

    if (response.status === 500) {
        throw new Error('Internal server error');
    }

    const data = await response.json();

    if (response.status > 400 && response.status < 500) {
        if (data.detail) {
          throw data.detail;
        }
        throw data;
    }

    return data;
};

However, I'm getting the following error in the backend log: "POST /api/v1/leads HTTP/1.0" 422 Unprocessable Entity

I have already tried to use FormData. I think it is related to the data structure, where the frontend side is sending something different than the expected by server-side.

enter image description here

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda